package com.lxg.ai.service;

/**
 * 函数调用
 * <p>
 * 函数调用:LLM 的得力助手
 * 函数调用让 LLM 能够根据输入的提示,生成一个调用特定函数的请求。这个请求包含了函数名称和所需的参数信息。通过这种方式,我们可以将 LLM 的智能与外部工具或 API 无缝连接。
 * <p>
 * 举个例子,众所周知,LLM 在复杂数学计算方面并不擅长。如果您的应用场景涉及大量数学运算,您可以为 LLM 提供一个”数学工具”。LLM 会根据工具的描述,返回需要调用的函数名称和参数。然后,您的系统执行该函数,获取结果,再将结果和原始提示一起发送给 LLM,最终得到综合的回答。
 * <p>
 * 重要提示: LLM 本身并不执行函数,它只是指示应该调用哪个函数以及如何调用。
 * <p>
 * 函数调用的应用场景
 * 触发外部操作:如发送邮件、控制智能家居设备等。
 * 实时数据获取:解决 LLM 知识更新滞后的问题,如进行实时搜索或数据库查询。
 * 复杂逻辑处理:处理 LLM 难以直接计算的复杂数据运算问题。
 */
public interface FunctionAssistant {

    String chat(String message);


}
